<
architecture, operating system>
IBM PC software that runs
in a
32-
bit flat address space.
The term
32-bit application came about because
MS-DOS and
Microsoft Windows were originally written for the {Intel
8088} and
80286 microprocessors. These are
16 bit
microprocessors with a
segmented address space. Programs
with more than 64 kilobytes of code and/or data therefore had
to switch between
segments quite frequently. As this
operation is quite time consuming in comparison to other
machine operations, the application's performance may suffer.
Furthermore, programming with segments is more involved than
programming in a flat address space, giving rise to some
complications in programming languages like "
memory models"
in
C and
C++.
The shift from 16-
bit software to
32-
bit software on
IBM PC
clones became possible with the introduction of the {Intel
80386} microprocessor. This microprocessor and its successors
support a segmented address space with 16-
bit and
32 bit
segments (more precisely: segments with 16- or
32-
bit address
offset) or a linear
32-
bit address space. For compatibility
reasons, however, much of the software is nevertheless written
in 16-
bit models.
Operating systems like
Microsoft Windows or
OS/2 provide
the possibility to run 16-
bit (segmented) programs as well as
32-
bit programs. The former possibility exists for {backward
compatibility} and the latter is usually meant to be used for
new software development.
See also
Win32s.
(1995-12-11)